﻿#pragma strict

public var chiffre0:Transform;
public var chiffre1:Transform;
public var chiffre2:Transform;
public var chiffre3:Transform;
public var chiffre4:Transform;
public var chiffre5:Transform;
public var chiffre6:Transform;
public var chiffre7:Transform;
public var chiffre8:Transform;
public var chiffre9:Transform;
public var fond:Transform;
private var prefab_choisi:Transform;
private var nombre_chiffre:int;
private var taille_totale:double;
private var position_depart:Vector3;
private var precedent_score:int;
private var taille_chiffre:double;
private var intermediate:Transform[];

function Start () {
intermediate=new Transform[5];
precedent_score=10;
intermediate[0]=Transform.Instantiate(chiffre0,this.transform.position,Quaternion.identity);
intermediate[0].localScale=fond.localScale;
taille_chiffre=(chiffre0.GetComponent(SpriteRenderer).sprite.bounds.size.x+0.1)*this.transform.parent.localScale.x;
}

function Update () {
	if(howMuchGold(Score.score)!=precedent_score)
	{
		precedent_score=howMuchGold(Score.score);
		nombre_chiffre=nombreChiffre(precedent_score);
		taille_totale=nombre_chiffre*taille_chiffre-(0.1*fond.localScale.x);
		position_depart=this.transform.position;
		position_depart.x=this.transform.position.x-taille_totale/2;
		for(var i:int=nombre_chiffre-1;i>=0;i--)
		{
			if(intermediate[i]!=null)
			{
				GameObject.Destroy(intermediate[i].gameObject);
			}
			prefab_choisi=choisirPrefab(choisirChiffre(i));
			intermediate[i]=Transform.Instantiate(prefab_choisi,position_depart,Quaternion.identity);
			intermediate[i].localScale=fond.localScale;
			position_depart.x+=taille_chiffre;
		}
	}
	
}

function nombreChiffre(s:int):int
{
	if(s/10==0)
	{
		return 1;
	}
	else
	{
		return 1+nombreChiffre(s/10);
	}
}

function choisirChiffre(rang:int):int
{
	
	return ((precedent_score/Mathf.Pow(10,rang)))%10;
	
}

function choisirPrefab(chiffre:int)
{
	if(chiffre==0)
	{
		return chiffre0;
	}
	else if(chiffre==1)
	{
		return chiffre1;
	}
	else if(chiffre==2)
	{
		return chiffre2;
	}
	else if(chiffre==3)
	{
		return chiffre3;
	}
	else if(chiffre==4)
	{
		return chiffre4;
	}
	else if(chiffre==5)
	{
		return chiffre5;
	}
	else if(chiffre==6)
	{
		return chiffre6;
	}
	else if(chiffre==7)
	{
		return chiffre7;
	}
	else if(chiffre==8)
	{
		return chiffre8;
	}
	else if(chiffre==9)
	{
		return chiffre9;
	}
	else
	{
		return null;
	}
	
}


	function howMuchGold(s:int):int
	{
		if (s > 210) {
			return ((s - 200) / 10) * 20 + howMuchGold (200);
							} else if (s > 110) {
									return ((s - 100) / 10) * 10 + howMuchGold (100);
							} else if (s > 60) {
									return ((s - 50) / 10) * 5;
							} else {
									return 0;
							}
			}






